﻿using System.Collections;
using System.Collections.Generic;

namespace Neturion.Dados
{
    public class Titulo : Movimento
    {
        private string _nossoNumero;
		private string _ipte;
        private int _registroRetorno;
        private IList _listaPagamentos;
        private MovimentoFinanceiro _movimentoFinanceiro;
        
        public Titulo()
        {
            _listaPagamentos = new List<Pagamento>();
        }

        public virtual string NossoNumero
        {
            get { return _nossoNumero; }
            set { _nossoNumero = value; }
        }

        public virtual string Ipte
        {
            get { return _ipte; }
            set { _ipte = value; }
        }

        public virtual int RegistroRetorno
        {
            get { return _registroRetorno; }
            set { _registroRetorno = value; }
        }

        public virtual IList ListaPagamentos
        {
            get { return _listaPagamentos; }
            set { _listaPagamentos = value; }
        }

        public virtual void AdicionarPagamento(Pagamento pagamento)
        {
            pagamento.Titulo = this;
            ListaPagamentos.Add(pagamento);
        }

        public virtual void RemoverPagamento(Pagamento pagamento)
        {
            ListaPagamentos.Remove(pagamento);
        }

        public virtual MovimentoFinanceiro MovimentoFinanceiro
        {
            get { return _movimentoFinanceiro; }
            set { _movimentoFinanceiro = value; }
        }
    }
}